<?php
/**
 * @link https://ym2.cleverstone.top
 * @copyright Copyright (c) 2020 Yii Manager Software LLC
 */

namespace builder\form\util\control\dctrl;

use builder\form\HelperInterface;
use builder\form\util\control\dctrl\items\Checkbox;
use builder\form\util\control\dctrl\items\Date;
use builder\form\util\control\dctrl\items\Datetime;
use builder\form\util\control\dctrl\items\File;
use builder\form\util\control\dctrl\items\Month;
use builder\form\util\control\dctrl\items\Number;
use builder\form\util\control\dctrl\items\Password;
use builder\form\util\control\dctrl\items\Radio;
use builder\form\util\control\dctrl\items\Range;
use builder\form\util\control\dctrl\items\Section;
use builder\form\util\control\dctrl\items\Select;
use builder\form\util\control\dctrl\items\Sw;
use builder\form\util\control\dctrl\items\Text;
use builder\form\util\control\dctrl\items\Textarea;
use builder\form\util\control\dctrl\items\Time;
use builder\form\util\control\dctrl\items\Year;

/**
 * 动态控件项助手
 * @author cleverstone
 * @since ym2.0
 */
class DctrlHelper implements HelperInterface
{
    /**
     * @return Checkbox
     */
    public function checkbox()
    {
        return new Checkbox();
    }

    /**
     * @return Date
     */
    public function date()
    {
        return new Date();
    }

    /**
     * @return Datetime
     */
    public function datetime()
    {
        return new Datetime();
    }

    /**
     * @return File
     */
    public function file()
    {
        return new File();
    }

    /**
     * @return Month
     */
    public function month()
    {
        return new Month();
    }

    /**
     * @return Number
     */
    public function number()
    {
        return new Number();
    }

    /**
     * @return Password
     */
    public function password()
    {
        return new Password();
    }

    /**
     * @return Radio
     */
    public function radio()
    {
        return new Radio();
    }

    /**
     * @return Range
     */
    public function range()
    {
        return new Range();
    }

    /**
     * @return Section
     */
    public function section()
    {
        return new Section();
    }

    /**
     * @return Select
     */
    public function select()
    {
        return new Select();
    }

    /**
     * @return Sw
     */
    public function sw()
    {
        return new Sw();
    }

    /**
     * @return Text
     */
    public function text()
    {
        return new Text();
    }

    /**
     * @return Textarea
     */
    public function textarea()
    {
        return new Textarea();
    }

    /**
     * @return Time
     */
    public function time()
    {
        return new Time();
    }

    /**
     * @return Year
     */
    public function year()
    {
        return new Year();
    }
}